
// pages/detail/showImg/showImg.js
const app = getApp()
import {getDate} from '../../../utils/util'
import {getImagesByAtlasId} from '../../../service/config/index.js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    date:"",
    list:[], // 所有图集
    index:0,//当前位置
    baseUrl:app.globalData.url,
    qo:{
      status:1,
      tag:1,
      atlasId:"",
      pageNum:1,
      pageSize:10
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let item = JSON.parse(options.param)
    console.log(item)
    let atlasId = item.atlasId
    // 请求获取图集下的所有图
    this._getImagesByAtlasId(atlasId)
    let date = getDate()
    this.setData({
      img:item,
      date:date.time,
      index:item.index
    })
  },

  _getImagesByAtlasId(atlasId){
    let that = this
    let q = that.data.qo
    q.atlasId = atlasId
    getImagesByAtlasId(q).then(res=>{
      if(res.code == 200){
        that.setData({
          list:res.rows
        })
      }
    })
  },

  /**
   * 返回到上一级页面
   */
  back:function(){
    wx.navigateBack({ 
      delta: 1, 
    })
  },

  /**
   * 保存到本地相册。
   */
  down:function(){
    wx.showLoading({
      title: '加载中...'
    });

    let item =  this.data.list[this.data.index] 
    if(item.isDown != 1){
      wx.hideLoading(); //隐藏 loading 提示框
      wx.showModal({
        title: '提示',
        content: '该暂时不能免费下载',
        showCancel: false,
      })
      return
    }

    wx.downloadFile({
      url: this.data.baseUrl + this.data.img.imgUrl,//图片的地址
      success:function(res){
        const tempFilePath = res.tempFilePath  //通过res中的tempFilePath 得到需要下载的图片地址
        wx.saveImageToPhotosAlbum({
          filePath: tempFilePath,  //设置下载图片的地址
          success:function(){
            wx.showModal({
              title: '提示',
              content: '图片已保存到相册',
              showCancel: false,
            })
          },
          fail:function (err) {
            wx.hideLoading();
            if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny" || err.errMsg === "saveImageToPhotosAlbum:fail authorize no response") {
              wx.showModal({
                  title: '提示',
                  content: '请授权保存到相册',
                  modalType: false,
                  success: res => {
                      if (res.confirm) {
                          wx.openSetting({
                              success(settingdata) {
                                  console.log("settingdata", settingdata)
                                  if (settingdata.authSetting['scope.writePhotosAlbum']) {
                                      wx.showToast({
                                          title: '授权成功',
                                          icon: 'none'
                                      })
                                  } else {
                                      wx.showToast({
                                          title: '授权失败',
                                          icon: 'none'
                                      })
                                  }
                              },
                              fail(failData) {
                                  console.log("failData", failData)
                              },
                              complete(finishData) {
                                  console.log("finishData", finishData)
                              }
                          })
                      } else if (res.cancel) {
                          console.log('用户点击取消')
                      }
                  }
              })
            }
          },
          complete(res) {
            wx.hideLoading(); //隐藏 loading 提示框
          }
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function (res) {
    let that = this
    if (res.from === 'button') {
      console.log(res.target)
    }
    return {
      title: "来自好友分享",
      path: '/pages/detail/showImg/showImg?param='+JSON.stringify(that.data.img),
      success: function (res) {
        console.log('分享成功', res)
      }
    }
  }
})